package com.example.ymm.modules1.service.user;

import com.alibaba.fastjson.JSONObject;
import com.example.ymm.base.BaseService;
import com.example.ymm.model.TableList;
import com.example.ymm.model.YmPageDto;
import com.example.ymm.modules1.entity.my.user.DbDept;
import com.example.ymm.modules1.entity.my.user.DbDeptUser;
import com.example.ymm.modules1.entity.my.user.DbUser;
import com.example.ymm.modules1.entity.my.user.ViewDeptUser;
import com.example.ymm.modules1.service.dto.DbDeptUserQueryCriteria;

import java.util.List;

public interface DbDeptUserService extends BaseService<DbDeptUser> {


    TableList<ViewDeptUser> getDeptUserList(DbDeptUserQueryCriteria criteria, YmPageDto pageDto);

    List<ViewDeptUser> getDeptUserList(DbDeptUserQueryCriteria criteria);

    void syncByJson(JSONObject json, DbDept dept);


    void removeByUserId(String userId);


    void removeByAll();

    /**
     * 通过部门路径查找人员 例如  钟事业部/研发部
     * @param path
     * @return
     */
    List<ViewDeptUser> findByPath(String path);

    List<String> findUserNameByPath(String path);


    List<DbDeptUser> queryAll(DbDeptUserQueryCriteria criteria);


    /**
     * 加入到某个部门
     */
    void joinDeptId(String deptId,String userId);
}
